from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait

class Base_method:
    #初始化
    def __init__(self,base_url):
        self.driver = webdriver.Edge()
        self.driver.maximize_window()
        self.driver.get(base_url)

    #查找页面元素
    def base_find_element(self, loc, timeout=30, poll=0.5):
        """
                :param loc:  元素的定位信息，格式为元祖
                :param timeout: 默认超时时间30秒
                :param poll: 访问频率，默认0.5查找一次元素
                :return: 返回查找到的元素
        """
        return WebDriverWait(self.driver,
                             timeout=timeout,
                             poll_frequency=poll).until(lambda x: x.find_element(*loc))

    #点击方法
    def base_click(self,loc):
        self.base_find_element(loc).click()

    #输入方法
    def base_input(self,loc,value):
        el = self.base_find_element(loc)
        el.clear()
        el.send_keys(value)

    #获取文本方法
    def base_get_text(self,loc):
        return self.base_find_element(loc).text

    #截图方法
    def base_get_image(self):
        self.driver.get_screenshot_as_file('screenshot.png')